home *** CD-ROM | disk | FTP | other *** search
/ CICA 1995 August / CICA - The Ultimate Collection of Shareware for Windows (Disc 2) (August 1995).iso / disc2 / winsock / slip11k.exe / SLIPNET.Z / LOGIN.CMD < prev    next >
OS/2 REXX Batch file  |  1995-03-23  |  6KB  |  252 lines

  1. # Slip.Net LOGIN.CMD file for use with The Slip.Net Internet Launcher
  2. # version 1.1h - 03/06/95  copyright Slip.Net - All Rights Reserved 1995
  3. # for use with associated packages which are Shareware - please register!
  4.  
  5. # Following is for US Robotics 28.8's - you init string may be different
  6. #$minit = "at&h1&r2&k3"
  7.  
  8. # This init string should work for everyone
  9. $minit = "at&c1&d2"
  10.  
  11. # This is your Dialling Prefix (ie. "9" if you are in an office)
  12. $prefix    = ""
  13.  
  14. # following are modem numbers to be dialed for access to your account:
  15. $dial1 = "12177922777"
  16. $dial2 = "12177922777"
  17.  
  18. # The installer program for the Slip.Net Internet Launcher added these two lines:
  19. $username = ""
  20. $password = ""
  21.  
  22.  
  23.  
  24. # Do not change the pppprefix
  25. $pppprefix = "S"
  26.  
  27. # ---------------------------------- LOGIN PROCESS ---------------------------
  28. # You shouldn't have to modify anything below this line
  29. # This script is very complicated. Slip.Net Technical support will not assist
  30. # you if you modify this script. If you have enhancements, please mail them to
  31. # launcher@slip.net for integration with our standard package
  32. %time  = 0
  33. %time2 = 0
  34. %time3 = 0
  35. %maxtry   = 0
  36. %busy     = 0
  37. %cnct  = 0
  38. %login    = 0                     # not logged in
  39. %estab    = 0                     # session not established
  40.  
  41. #
  42. # initialize modem
  43. #
  44. output atz\n
  45. input 10 OK\n
  46. #
  47. # set modem to indicate DCD
  48. #
  49. output at&c1&d2\n
  50. input 10 OK\n
  51. output ats10=11\n
  52. input 10 OK\n
  53.  
  54. # now the init string defined at top of this pgm:
  55. output $minit\n
  56. input 10 OK\n
  57.  
  58. # overly complicated if/until loop since this scripting language doesn't support While
  59.  
  60. %tries   = 0
  61. %cnct = 0
  62. %testab = 0
  63. %tlogin = 0
  64. %tcnct = 0
  65.  
  66. if %testab = 0
  67. repeat
  68. # repeat until estab
  69. if %tlogin = 0
  70. repeat
  71. # repeat until login
  72. if %tcnct = 0
  73. repeat
  74. # repeat until cnct
  75.   %tries = %tries + 1
  76.   $result = "Initialize"
  77.   display "Try #:" %tries  \n
  78.   # Retries Expired check
  79.   # Make this number as large as you want
  80.   # hangup just in case we didn't already
  81. #set DTR off
  82. #sleep 1
  83. #set DTR on
  84.   if %tries = 4
  85.     display "VHT ( Very High Traffic)." \7\n
  86.     display "Trying some other time." \n
  87.     display "Aborting." \n
  88.     set DTR off
  89.     sleep 1
  90.     set DTR on
  91.     abort
  92.   end
  93.   # following command removed to support some laptops - add it in only if needed
  94.   # wait 1
  95.  
  96.   # We're about to dial now:
  97.  
  98.   output ATDT
  99.   output $prefix
  100.   # wait a sec after we dial the prefix
  101.   if len($prefix) <> 0
  102.     output ","
  103.   end
  104.   if %busy = 0
  105.       output $dial1
  106.   else
  107.       output $dial2
  108.   end
  109.   output \13
  110.  
  111.   # check for a result code within 10 seconds
  112.  
  113.   %time = [read 20 $result]
  114.   %time = [read 20 $result]
  115.  
  116.   # check if timed out
  117.   # this could be modem failure , or service
  118.   # took more than a minute to respond etc.
  119.   if %time=0 | $result = "RINGING"
  120.     display "Still waiting for a connect"\n
  121.     # wait another 10 seconds just to be sure its not going to answer
  122.     %time2 = [read 10 $result]
  123.     %time2 = [read 10 $result]
  124.     if %time2 = 0 | $result = "RINGING"
  125.         display "Still waiting for a connect"\n
  126.         %time3 = [read 10 $result]
  127.         %time3 = [read 10 $result]
  128.  
  129.         if %time3 = 0 | $result = "RINGING"
  130.             display \n
  131.             display "ERROR Timed-out. Hanging up line to try again." \n
  132.             set DTR off
  133.             sleep 1
  134.             set DTR on
  135.             %cnct = 0
  136.             %busy = 1
  137.             #abort
  138.         end
  139.     end
  140.   else
  141.     %time2 = 0
  142.  
  143.     # seems like we're online so drop thru:
  144.   end
  145.  
  146.   # Check if Modem Returns BUSY
  147.   # does not work with $result = "CONNECT" ??
  148.   # but since usually the only two conditions
  149.   # are busy and not busy , this will work
  150.   # NO CARRIER for example will pass through but
  151.   # will be traped in the  wait 30 dcd command below
  152.   if $result = "BUSY"
  153.     # display "This number is Busy." \n
  154.     %cnct = 0
  155.     %busy = 1
  156.     display "Redialling now" \n
  157.   else
  158.     if $result <> "NO CARRIER"
  159.     # Since connects look different depending on the modem:
  160.     display " Handshaking now."\n
  161.     %cnct = 1
  162.     end
  163.     # connect assumed successful
  164.   end
  165. until %cnct = 1
  166. end   # if %tcnct = 0
  167. %tcnct = 1
  168.  
  169. # now we are connected.
  170. #
  171. #  wait till it's safe to send because some modem's hang up
  172. #  if you transmit during the connection phase
  173. #
  174. wait 10 dcd
  175. #
  176. #  wait for the username prompt
  177. #
  178. %login = [input 15 login]
  179. if %login = 0
  180.    # wait another 10 seconds just to be sure
  181.    %login = [read 10 $result]
  182.    if %login = 0
  183.    display \n
  184.    display "ERROR: login not received from Host Timed-out. Hangup line." \n
  185.    set DTR off
  186.    sleep 1
  187.    set DTR on
  188.    # force it to hangup and dial again:
  189.    %tcnct = 0
  190.    end
  191. else
  192. %login = 1
  193. end
  194. until %login = 1
  195. end    # if %login = 1
  196. %tlogin = 1
  197.  
  198. #
  199.  
  200. # Edit the username at the top of this file to be your PPP login id assigned
  201. # to you by slip.net
  202. # (Be sure to put a 'S' first!)
  203. # ***ENTER USERNAME AT THE TOP OF THIS FILE - NOT HERE
  204. output $pppprefix
  205. output $username\n
  206. #
  207. # and the password
  208. #
  209. input 30 Password:
  210. #
  211. # edit your_password to be your slip login password.
  212. # ***ENTER PASSWORD AT THE TOP OF THIS FILE - NOT HERE
  213. output $password\n
  214. #
  215. # we shoul now be logged in
  216. #
  217. # wait for the address string
  218. #
  219. input 30 to
  220. #
  221. # parse address
  222. #
  223. %estab = [address 10]
  224. #
  225. # we are now connected, logged in and in slip mode.
  226. #
  227.  if %estab = 0
  228.    # wait another 20 seconds just to be sure
  229.    %estab = [address 10]
  230.    if %estab = 0
  231.    display \n
  232.    display "ERROR: PPP address not provided - be sure to log into a PPP account. Hanging up line." \n
  233.    display "you may have the wrong userid or password - please call technical support "\n
  234.    display "if you need more help at 1-415-281-3177"\n
  235.    set DTR off
  236.    sleep 1
  237.    set DTR on
  238.    # force it to hangup and dial again:
  239.    %tcnct = 0
  240.    %tlogin = 0
  241.    end
  242.  else
  243.    %estab = 1
  244.  end
  245. until %estab = 1
  246. end  # if test to see if estab = 1
  247. %testab = 1
  248. # We'll never get here unless we actually established a PPP session:
  249. display \n
  250. display Connected.  Your IP address is \i.\n
  251. online
  252.